home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_1.3 / Includes1.3 / include.h / workbench / workbench.h < prev   
Encoding:
C/C++ Source or Header  |  1988-07-15  |  2.7 KB  |  100 lines

  1. #ifndef WORKBENCH_WORKBENCH_H
  2. #define WORKBENCH_WORKBENCH_H
  3. /*
  4. **    $Filename: workbench/workbench.h $
  5. **    $Release: 1.3 $
  6. **
  7. **    
  8. **
  9. **    (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef EXEC_TYPES_H
  14. #include "exec/types.h"
  15. #endif !EXEC_TYPES_H
  16.  
  17. #ifndef EXEC_NODES_H
  18. #include "exec/nodes.h"
  19. #endif !EXEC_NODES_H
  20.  
  21. #ifndef EXEC_LISTS_H
  22. #include "exec/lists.h"
  23. #endif !EXEC_LISTS_H
  24.  
  25. #ifndef EXEC_TASKS_H
  26. #include "exec/tasks.h"
  27. #endif !EXEC_TASKS_H
  28.  
  29. #ifndef INTUITION_INTUITION_H
  30. #include "intuition/intuition.h"
  31. #endif !INTUITION_INTUITION_H
  32.  
  33. #define WBDISK        1
  34. #define WBDRAWER    2
  35. #define WBTOOL        3
  36. #define WBPROJECT    4
  37. #define WBGARBAGE    5
  38. #define WBDEVICE    6
  39. #define WBKICK        7
  40.  
  41. struct DrawerData {
  42.     struct NewWindow    dd_NewWindow;    /* args to open window */
  43.     LONG        dd_CurrentX;    /* current x coordinate of origin */
  44.     LONG        dd_CurrentY;    /* current y coordinate of origin */
  45. };
  46.  
  47. /* the amount of DrawerData actually written to disk */
  48. #define DRAWERDATAFILESIZE    (sizeof( struct DrawerData ))
  49.  
  50.  
  51. struct DiskObject {
  52.     UWORD        do_Magic; /* a magic number at the start of the file */
  53.     UWORD        do_Version; /* a version number, so we can change it */
  54.     struct Gadget    do_Gadget;    /* a copy of in core gadget */
  55.     UBYTE        do_Type;
  56.     char *        do_DefaultTool;
  57.     char **        do_ToolTypes;
  58.     LONG        do_CurrentX;
  59.     LONG        do_CurrentY;
  60.     struct DrawerData * do_DrawerData;
  61.     char *        do_ToolWindow;    /* only applies to tools */
  62.     LONG        do_StackSize;    /* only applies to tools */
  63.  
  64. };
  65.  
  66. #define WB_DISKMAGIC    0xe310    /* a magic number, not easily impersonated */
  67. #define WB_DISKVERSION    1    /* our current version number */
  68.  
  69. struct FreeList {
  70.     WORD        fl_NumFree;
  71.     struct List        fl_MemList;
  72. };
  73.  
  74. /* each message that comes into the WorkBenchPort must have a type field
  75.  * in the preceeding short.  These are the defines for this type
  76.  */
  77.  
  78. #define MTYPE_PSTD        1    /* a "standard Potion" message */
  79. #define MTYPE_TOOLEXIT        2    /* exit message from our tools */
  80. #define MTYPE_DISKCHANGE    3    /* dos telling us of a disk change */
  81. #define MTYPE_TIMER        4    /* we got a timer tick */
  82. #define MTYPE_CLOSEDOWN        5    /* <unimplemented> */
  83. #define MTYPE_IOPROC        6    /* <unimplemented> */
  84.  
  85. /* workbench does different complement modes for its gadgets.
  86.  * It supports separate images, complement mode, and backfill mode.
  87.  * The first two are identical to intuitions GADGIMAGE and GADGHCOMP.
  88.  * backfill is similar to GADGHCOMP, but the region outside of the
  89.  * image (which normally would be color three when complemented)
  90.  * is flood-filled to color zero.
  91.  */
  92. #define GADGBACKFILL    0x0001
  93.  
  94. /* if an icon does not really live anywhere, set its current position
  95.  * to here
  96.  */
  97. #define NO_ICON_POSITION    (0x80000000)
  98.  
  99. #endif    /* WORKBENCH_WORKBENCH_H */
  100.